package cn.wd.user.domain.mapper;


import cn.wd.common.base.mapper.BasePlusMapper;
import cn.wd.user.domain.entity.User;
import cn.wd.user.qo.QueryObject;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserMapper extends BasePlusMapper<User> {
    int deleteByPrimaryKey(Long id);

    int insert(User record);

    User selectByPrimaryKey(Long id);

    List<User> selectAll();

    int updateByPrimaryKey(User record);

    Long selectForCount(QueryObject qo);

    List<User> selectForList(QueryObject qo);

    void changeStatus(@Param("id") Long id, @Param("status") Integer status);

    void logicDeleteById(@Param("id") Long id, @Param("deleted") boolean deleted);

    User selectByUsername(String username);
}